package cn.maiyar.generator.entity;

import cn.maiyar.common.entity.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 实体类
 *
 * @author c.c
 */
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("mr_code")
@ApiModel(value = "Code对象", description = "Code对象")
public class Code extends BaseEntity {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "数据源主键")
    @TableField("datasource_id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long datasourceId;
    @ApiModelProperty(value = "作者")
    @TableField("author")
    private String author;
    @ApiModelProperty(value = "系统名称")
    @TableField("system_name")
    private String systemName;
    @ApiModelProperty(value = "服务名称")
    @TableField("service_name")
    private String serviceName;
    @ApiModelProperty(value = "父包名")
    @TableField("parent_name")
    private String parentName;
    @ApiModelProperty(value = "模块名称")
    @TableField("module_name")
    private String moduleName;
    @ApiModelProperty(value = "生成代码的目录")
    @TableField("package_dir")
    private String packageDir;
    @ApiModelProperty(value = "需要生成的表名")
    @TableField("include_tables")
    private String includeTables;
    @ApiModelProperty(value = "需要排除的表名")
    @TableField("exclude_tables")
    private String excludeTables;
    @ApiModelProperty(value = "需要过滤掉的表前缀")
    @TableField("table_prefix")
    private String tablePrefix;
    @ApiModelProperty(value = "需要过滤掉的表后缀")
    @TableField("table_suffix")
    private String tableSuffix;
    @ApiModelProperty(value = "需要过滤掉的字段前缀")
    @TableField("field_prefix")
    private String fieldPrefix;
    @ApiModelProperty(value = "需要过滤掉的字段后缀")
    @TableField("field_suffix")
    private String fieldSuffix;
    @ApiModelProperty(value = "是否包含包装器")
    @TableField("has_wrapper")
    private Integer hasWrapper;
    @ApiModelProperty(value = "是否包含父类公共字段")
    @TableField("has_super_entity")
    private Integer hasSuperEntity;
    @ApiModelProperty(value = "是否启用swagger")
    @TableField("is_swagger")
    private Integer isSwagger;
    @ApiModelProperty(value = "文件生成覆蓋")
    @TableField("file_override")
    private Integer fileOverride;
    @ApiModelProperty(value = "备注")
    @TableField("remark")
    private String remark;
}
